package sv.gob.mh.dgii.model;

// Generated Apr 28, 2010 4:04:55 PM by Hibernate Tools 3.3.0.GA

import java.io.Serializable;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * GoEstado generated by hbm2java
 */
@Entity
@Table(name = "GO_ESTADO", schema = "GESOMISOS")
public class GoEstado implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -5181844655354175635L;
	private String cestado;
	private String destado;
	private String cusuario;
	private Date fhIngreso;
	private Date fhFin;
	private Set<GoCaso> goCasos = new HashSet<GoCaso>(0);
	private Set<GoCasoTecnicoGestion> goCasoTecnicoGestions = new HashSet<GoCasoTecnicoGestion>(0);

	public GoEstado() {
	}

	public GoEstado(String cestado, String destado, String cusuario) {
		this.cestado = cestado;
		this.destado = destado;
		this.cusuario = cusuario;
	}

	public GoEstado(String cestado, String destado, String cusuario,
			Date fhIngreso, Date fhFin, Set<GoCaso> goCasos) {
		this.cestado = cestado;
		this.destado = destado;
		this.cusuario = cusuario;
		this.fhIngreso = fhIngreso;
		this.fhFin = fhFin;
		this.goCasos = goCasos;
	}

	/**
	 * @return the cestado
	 */
	@Id
	@Column(name = "C_ESTADO", unique = true, nullable = false, length = 2)
	public String getCestado() {
		return cestado;
	}

	/**
	 * @param cestado
	 *            the cestado to set
	 */
	public void setCestado(String cestado) {
		this.cestado = cestado;
	}

	/**
	 * @return the destado
	 */
	@Column(name = "D_ESTADO", nullable = false, length = 30)
	public String getDestado() {
		return destado;
	}

	/**
	 * @param destado
	 *            the destado to set
	 */
	public void setDestado(String destado) {
		this.destado = destado;
	}

	/**
	 * @return the cusuario
	 */
	@Column(name = "C_USUARIO", nullable = false, length = 30)
	public String getCusuario() {
		return cusuario;
	}

	/**
	 * @param cusuario
	 *            the cusuario to set
	 */
	public void setCusuario(String cusuario) {
		this.cusuario = cusuario;
	}

	/**
	 * @return the fhIngreso
	 */
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FH_INGRESO", length = 7)
	public Date getFhIngreso() {
		return fhIngreso;
	}

	/**
	 * @param fhIngreso
	 *            the fhIngreso to set
	 */
	public void setFhIngreso(Date fhIngreso) {
		this.fhIngreso = fhIngreso;
	}

	/**
	 * @return the fhFin
	 */
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FH_FIN", length = 7)
	public Date getFhFin() {
		return fhFin;
	}

	/**
	 * @param fhFin
	 *            the fhFin to set
	 */
	public void setFhFin(Date fhFin) {
		this.fhFin = fhFin;
	}

	/**
	 * @return the goCasos
	 */
	@OneToMany(fetch = FetchType.LAZY, mappedBy = "goEstado")
	public Set<GoCaso> getGoCasos() {
		return goCasos;
	}

	/**
	 * @param goCasos
	 *            the goCasos to set
	 */
	public void setGoCasos(Set<GoCaso> goCasos) {
		this.goCasos = goCasos;
	}

	/**
	 * @return the goCasoTecnicoGestions
	 */
	@OneToMany(fetch = FetchType.LAZY, mappedBy = "goEstado")
	public Set<GoCasoTecnicoGestion> getGoCasoTecnicoGestions() {
		return goCasoTecnicoGestions;
	}

	/**
	 * @param goCasoTecnicoGestions the goCasoTecnicoGestions to set
	 */
	public void setGoCasoTecnicoGestions(
			Set<GoCasoTecnicoGestion> goCasoTecnicoGestions) {
		this.goCasoTecnicoGestions = goCasoTecnicoGestions;
	}

}
